package com.xrit.sunnyday.dao;

import com.xrit.sunnyday.pojo.Order;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface OrderDao {
    /**
     * 新增订单信息
     */
    void add(Order order);

    /**
     * 带条件查询订单信息
     */
    List<Order> findByCondition(Order order);

    /**
     * 根据订单id查询预约信息
     */
    Map findById4Detail(Integer id);

    /**
     * 根据日期统计订单数
     */
    Integer findOrderCountByDate(String date);
    /**
     * 根据日期统计指定日期之后的订单数
     */
    Integer findOrderCountAfterDate(String date);
    /**
     * 根据日期统计到诊数
     */
    Integer findVisitsCountByDate(String date);
    /**
     * 根据日期统计指定日期之后的到诊数
     */
    Integer findVisitsCountAfterDate(String date);

    /**
     * 查询热门套餐
     */
    List<Map<String,Object>> findHotSetmeal();

    /**
     * 通过订单id查询预约信息
     */
   Map<String, Object> findById(Integer id);

    /**
     * 统计日期范围内预约数量
     * @param startDate
     * @param endDate
     * @return
     */
    Integer findOrderCountBetweenDate(@Param("startDate") String startDate, @Param("endDate")String endDate);
}
